/**
 * 发送get请求
 * @param {string} url 请求地址
 * @param {object} params 请求参数
 * @param {function} callback 
 * @param {string} type 返回的数据类型
 * @param {object} headers 请求头
 */
function get(url,params,callback,type,headers){
    const xhr=new XMLHttpRequest();
    xhr.onreadystatechange=()=>{
        if(xhr.readyState===4){
            if(xhr.status===200){
                let res=xhr.responseText;
                if(type==="json") res=JSON.parse(res)
                callback(res);
            }else{
                console.log("错误",xhr.status)
            }
        }
    }
    let temp=[]
    for(let key in params){
        temp.push(`${key}=${params[key]}`)
    }
    xhr.open("get",`${url}?${temp.join("&")}`);
    for(let key in headers){
        xhr.setRequestHeader(key,headers[key])
    }
    xhr.send(null)
}

/**
 * 发送post请求
 * @param {string} url 请求地址
 * @param {object} params 请求参数
 * @param {function} callback 
 * @param {string} type 返回的数据类型
 * @param {object} headers 请求头
 */
    function post(url,params,callback,type,headers){
        const xhr=new XMLHttpRequest();
        xhr.onreadystatechange=()=>{
            if(xhr.readyState===4){
                if(xhr.status===200){
                    let res=xhr.responseText;
                    if(type==="json") res=JSON.parse(res)
                    callback(res);
                }else{
                    console.log("错误",xhr.status)
                }
            }
        }
        let temp=[]
        for(let key in params){
            temp.push(`${key}=${params[key]}`)
        }
        xhr.open("post",url);
        xhr.setRequestHeader("content-type","application/x-www-form-urlencoded")
        for(let key in headers){
            xhr.setRequestHeader(key,headers[key])
        }
        xhr.send(temp.join("&"))
    }